1. Field of the Invention
The present invention relates to a method, system, and article of manufacture for gathering pages allocated to an application to include in checkpoint information.
2. Description of the Related Art
An operating system includes a virtual memory manager to allocate pages in a memory to applications executed by the operating system. A memory manager may map received virtual addresses used by the operating system and application processes to addresses in one of the pages in memory. The data in the pages may include data and code used by application processes and data and code from a storage device. Pages may be stored in memory or swapped to the storage if there is not sufficient space for all the pages in the memory. If a process references a memory address that resolves within a page that is not available in the memory, then the memory manager generates a page fault to the operating system to cause the operating system to load the required page from a paging file in the storage.
Certain applications may gather state information on the execution of an application and pages in memory allocated to the application to store in checkpoint information. The state of an application maintained in checkpoint information may be used for debugging, development and record and replay purposes. A record and replay program would allow the restoration of an application state so the application may run from the state as indicated in the checkpoint information.
To fully record the state information of an application, the pages used by an application are recorded in checkpoint information. During restoration of the application, the data in the pages written to the checkpoint information would be written to pages allocated to the restored application to restore the pages of the application as they were when the checkpoint information was recorded.
There is a need in the art for improved techniques to gather and store page information related to application execution to allow improved recording of the checkpoint information for the application.